Many electronic devices, such as conventional computing devices now include graphics subsystems capable of rendering two and three dimensional graphics; decoding and encoding motion video; and the like. To provide these features and desired processing speeds, modern graphics subsystems include an ever increasing number of transistors. Not surprisingly, the increase in transistor counts has led to corresponding higher electric power consumption by the graphics subsystems.
As a consequence, the fastest and most feature-rich graphics subsystems have, for the most part, been reserved for devices that can meet the increased power demands. Portable computing devices, such as laptops, personal digital assistants, video and audio players, cellular telephones, and the like, have often been equipped with functionally limited, but electrically efficient (i.e. lower power) components.
Often these graphics subsystems are integrated in other computing components such as processor interconnect circuits (often referred to as “chipsets”).
Recently, there has been a trend to provide graphics features and performance that rival those of stationary computers for portable devices. Often, this is done by allowing the addition of an optional, external high power graphics subsystem to portable devices. The PCI express (PCIe) standard, for example, contemplates interconnection of PCI express compliant graphics cards, including a graphics subsystem, as external components to laptop computing devices.
In the presence of multiple graphics subsystems there is often a desire to switch the computing device's operating state to use one or the other graphics subsystem without restarting (e.g. rebooting) the computing device.
Unfortunately, the software architecture of some operating systems only contemplates use of a single graphics driver. Thus, in the presence of multiple graphics subsystems, this single driver needs to control operation of all of the multiple subsystems. This may be impractical, particularly if the subsystems are provided by different manufacturers.
Accordingly, there remains a need for software and devices that allow use of multiple graphics drivers.